// Police相关类型定义

// 状态常量，对应后端PoliceStatus
export const PoliceStatus = {
  Normal: 0,    // 正常状态，背景色
  Warning: 2,   // 警告状态，半透浅橙色
  Danger: 1     // 危险状态，半透橙红色
} as const

// 状态类型
export type PoliceStatus = typeof PoliceStatus[keyof typeof PoliceStatus]

// Police数据结构接口
export interface Police {
  id: number
  realpol?: string | null      // 实际巡警
  speed?: number | null        // 速度
  kmv?: number | null          // 千米值
  zig?: number | null          // 轴距
  hei?: number | null          // 导高
  zigStatus?: PoliceStatus     // 轴距状态
  heiSatus?: PoliceStatus      // 导高状态
  mohao?: number | null        // 磨耗
  MoHaoSatus?: PoliceStatus    // 磨耗状态
  fVot?: number | null         // 电压
  fVotSatus?: PoliceStatus     // 电压状态
  fPress?: number | null       // 压力
  fPressSatus?: PoliceStatus   // 压力状态
  fVibration?: number | null   // 振动
  fVibrationSatus?: PoliceStatus // 振动状态
  policeruleid?: number        // 规则ID
  // 添加时间戳用于排序和识别
  timestamp?: number
}

// 状态样式映射
export const getStatusClass = (status?: PoliceStatus): string => {
  switch (status) {
    case PoliceStatus.Normal:
      return 'status-normal'
    case PoliceStatus.Warning:
      return 'status-warning'
    case PoliceStatus.Danger:
      return 'status-danger'
    default:
      return 'status-normal'
  }
}

// 状态颜色映射
export const getStatusColor = (status?: PoliceStatus): string => {
  switch (status) {
    case PoliceStatus.Normal:
      return 'transparent'
    case PoliceStatus.Warning:
      return 'rgba(255, 165, 0, 0.3)' // 半透浅橙色
    case PoliceStatus.Danger:
      return 'rgba(255, 69, 0, 0.5)'  // 半透橙红色
    default:
      return 'transparent'
  }
}